package nl.ajonker.railroad.sl;

import nl.ajonker.railroad.dl.SwitchRail;

import java.io.IOException;
import java.util.List;

public interface SwitchService {
    void setAddress(String hostname, Integer port);

    String getHostname();

    Integer getPort();

    void performSwitch(SwitchRail rail) throws IOException;

    void performSwitch(SwitchRail rail, SwitchRail.SwitchState state) throws IOException;

    void setLogProcessor(LogProcessor logProcessor);

    void initialize(List<SwitchRail> rails);
}
